package com.zdft.promotion.whmovements.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 移位单明细表
 *
 * @author wcy
 * @date 2019-10-25 16:42:22
 */
@Data
public class WareWhMovementsDetailDto {

    private static final long serialVersionUID = 6032132443882917795L;
    /**
     * 移位单明细ID
     */
    private Integer id;
    /**
     * $column.comments
     */
    private Integer erpId;
    /**
     * 移位单主表ID
     */
    private Integer whMvId;
    /**
     * 明细编码
     */
    private String detailNo;
    /**
     * 商品编码
     */
    @NotBlank(message = "商品编码不能为空")
    private String commodityId;
    /**
     * 计量单位ID
     */
    private Integer unitId;
    /**
     * 入库批次号
     */
    private Integer batchNo;
    /**
     * 对应计量单位的数量
     */
    private Integer quantity;
    /**
     * 这算成基本单位的数量
     */
    private Integer quantityBase;

    /**
     * 源仓储单元类型 1仓库 2库区 3货架 4货层 5货格
     */
    @NotNull(message = "目标仓储单元类型不能为空")
    private Integer sourceCellType;
    /**
     * 源仓库ID
     */
    private Integer sourceRepoId;
    /**
     * 源库区ID
     */
    private Integer sourceRepoAreaId;
    /**
     * 源货架ID
     */
    private Integer sourceRepoShelvesId;
    /**
     * 源货层ID
     */
    private Integer sourceRepoFloorId;
    /**
     * 源货格ID
     */
    private Integer sourceRepoCellId;

    /**
     * 目标仓储单元类型 1仓库 2库区 3货架 4货层 5货格
     */
    @NotNull(message = "目标仓储单元类型不能为空")
    private Integer targetCellType;

    /**
     * 目标仓库ID
     */
    private Integer targetRepoId;
    /**
     * 目标库区ID
     */
    private Integer targetRepoAreaId;
    /**
     * 目标货架ID
     */
    private Integer targetRepoShelvesId;
    /**
     * 目标货层ID
     */
    private Integer targetRepoFloorId;
    /**
     * 目标货格ID
     */
    private Integer targetRepoCellId;
    /**
     * 创建人
     */
    private String createUser;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 最近修改人
     */
    private String updateUser;
    /**
     * 最近修改时间
     */
    private Date updateTime;
    /**
     * 删除标志 0未删除 1已删除
     */
    private Integer deleted;

}
